package com.xiangge.method;
/*
     有参有返回值方法：
          声明：
             位置： 类中方法外
             格式：
                 public static 返回值类型 方法名(形式参数列表){
                    方法体;
                    return 值;
                 }

          调用：
              打印调用： System.out.println(方法名(实际参数列表));
              赋值调用： 数据类型 变量名 = 方法名(实际参数列表);

          需求：调用方法获得指定两个double变量的和。
          需求：调用方法传入数组 {5, 12, 90, 18, 77, 76, 45, 28, 59, 72}  , 返回数组中偶数元素的和
          需求：调用方法传入数组 {5, 12, 90, 18, 77, 76, 45, 28, 59, 72}  , 将数组中指定的2号索引位置的元素删除,返回新数组
          需求：调用方法传入一个[1,5]之间的整数,返回5位数的和  例如： 2   ,    24690
 */
import java.util.Arrays;

public class MethodDemo6 {
    public static void main(String[] args) {
        int[] arr = {5,12,90,18,77,76,45,28,59,72};

        // 1. 在调用方法之前准备参数
        double num1 = 3.14;
        double num2 = 6.6;

        // 2. 调用方法传入参数值
        double sum = getSum(num1, num2);
        System.out.println("sum = " + sum);

        int ousum = getOushuhe(arr);
        System.out.println("ousum = " + ousum);

        System.out.println("------------------------");

        int index = 2;
        int[] newarr = getDelarr(arr,index);
        System.out.println(Arrays.toString(newarr));

        System.out.println("------------------------");

        int num = 2;
        int sum1 = getSum(num);
        System.out.println("sum1 = " + sum1);

    }
    // 定义方法：获得指定两个double变量的和
    // 明确： 1. 返回值类型： double  2. 形式参数列表：(double num1 , double num2)

    /**
     * @param num1 变量1
     * @param num2 变量2
     * @return  变量1 和 变量2 的和
     */
    public static  double getSum(double num1 , double num2){
        return num1 + num2;
    }


    public static int getSum(int num) {

        int sum =num+num*11+num*111+num*1111+num*11111;

        return sum;
    }

    /**
     *
     * @param arr 需要删除的数组
     * @param index 删除的元素索引
     * @return 返回删除后的数组
     */
    public static int[] getDelarr(int[] arr, int index) {
        if (index<0||index>arr.length-1){
            System.err.println("传入的索引不合法");
        }
        for (int i = 0; i < arr.length; i++) {
            if (i==2){
                arr[i] = 0;
            }
        }
        return arr;
    }

    /**
     *
     * @param arr 需要操作的数组
     * @return 返回得到的偶数值
     */
    public static int getOushuhe(int[] arr) {
        int sum = 0;
        for (int i : arr) {
            if (i%2==0){
                sum+=i;
            }
        }
        return sum;
    }


}
